var sw=20,//小方块的宽
	sh=20,//小方块的高
	tr=30,//行
	td=30;//列
var snake;//整条蛇
	//---------------------------------------------------------
	//方块构造函数，可以创建出小方块
	function Square(x,y,classname){//xy表示第几块
		this.x=x*sw;//表示x乘以宽度之后的坐标
		this.y=y*sh;
		this.class=classname;
		this.viewContent=document.createElement("div");//创建一个小方块
		this.viewContent.className=this.class;//给该方块添加class属性
		this.parent=document.getElementById('snakeWrap');//为了小方块更好的插入
	}
	
	Square.prototype.creat=function(){	//创建方块的方法
		this.viewContent.style.position='absolute';
		this.viewContent.style.width=sw+'px';
		this.viewContent.style.height=sh+'px';
		this.viewContent.style.left=this.x+'px';
		this.viewContent.style.top=this.y+'px';
		
		this.parent.appendChild(this.viewContent);//将小方块插入父级snakeWrap中
		
	};
	
	Square.prototype.remove=function(){	//移除小方块
		this.parent.removeChild(this.viewContent);//将小方块移除	
	};
	
	//-------------------------------------------------------------
	//蛇
	function Snake(){
		this.head=null;//储存蛇头的信息
		this.tail=null;//储存蛇尾的信息
		this.pos[];//储存每个方块的位置
		this.directionNum={//储存蛇行走的方向，对象表示
			left:{
				x:-1,
				y:0
			},
			right:{
				x:1,
				y:0
			},
			up:{
				x:0,
				y:-1
			},
			down:{
				x:0,
				y:1
			}
		}
	};
	
	Snake.prototype.init=function(){//init初始化，初始化蛇长度3节。。。
		//创建蛇头
		var snakeHead=new Square(2,0,'snakeHead');
		snakeHead.creat();
		this.head=snakeHead;
		this.pos.push([2,0]);//蛇头位置
		
		//蛇身1
		var snakeBody1=new Square(1,0,'snakeBody');
		snakeBody1.creat();
		this.pos.push([1,0]);//蛇身1位置
		
		//蛇身2
		var snakeBody2=new Square(0,0,'snakeBody');
		snakeBody2.creat();
		this.tail=snakeBody2;
		this.pos.push([0,0]);//蛇身2位置
		
		//形成链表
		snakeHead.last=null;
		snakeHead.next=snakeBody1;
		
		snakeBody1.last=snakeHead;
		snakeBody1.next=snakeBody2;
		
		snakeBody2.last=snakeBody1;
		snakeBody2.next=null;
		
		
		//给蛇添加一条默认属性，表示蛇的方向
		this.direction=this.directionNum.right;//默认向右走
		
	};
	
	
	//获取蛇头下一个位置元素，根据元素做出相应动作
	snake.prototype.getNextPos=function(){
		var nextPos=[//蛇头要走的下一个坐标
			this.head.x/sw+this.direction.x,
			this.head.y/sh+this.direction.y,
		]
		
	//下一个点是自身，表示撞到自己
	var selfCollied=false;//是否撞到自己
	this.pos.forEach(function(value){
		if(value[0]==nextPos[0]&&value[1]==nextPos[1]){
			selfCollied=true;
		}
	});
	if(selfCollied){//撞到自己的操作
		console.log("撞到自己了");
		this.strategies.die();
		return;
	}
	//下一个点是墙，game over
	if(nextPos[0]<0||nextPos[1]<0||nextPos[0]>td-1||nextPos[1]>tr-1){
		console.log("撞墙");
		return;
	}
	//下一个点是食物，身子变长
	
	//下一个点什么都没有，继续走
		
	};
	
	
	//处理碰撞后的操作
	Snake.prototype.strategies={
		move:function(){
			
		},
		eat:function(){
			
		},
		die:function(){
			
		}
	}
	snake=new Snake();
	snake.init();
	